let api = [];
const apiDocListSize = 1
api.push({
    name: 'default',
    order: '1',
    list: []
})
api[0].list.push({
    alias: 'SysJobController',
    order: '1',
    link: '调度任务信息操作处理',
    desc: '调度任务信息操作处理',
    list: []
})
api[0].list[0].list.push({
    order: '1',
    deprecated: 'false',
    url: 'http://127.0.0.1/monitor/job/list',
    desc: '查询定时任务列表',
});
api[0].list[0].list.push({
    order: '2',
    deprecated: 'false',
    url: 'http://127.0.0.1/monitor/job/export',
    desc: '导出定时任务列表',
});
api[0].list[0].list.push({
    order: '3',
    deprecated: 'false',
    url: 'http://127.0.0.1/monitor/job/{jobId}',
    desc: '获取定时任务详细信息',
});
api[0].list[0].list.push({
    order: '4',
    deprecated: 'false',
    url: 'http://127.0.0.1/monitor/job',
    desc: '新增定时任务',
});
api[0].list[0].list.push({
    order: '5',
    deprecated: 'false',
    url: 'http://127.0.0.1/monitor/job',
    desc: '修改定时任务',
});
api[0].list[0].list.push({
    order: '6',
    deprecated: 'false',
    url: 'http://127.0.0.1/monitor/job/changeStatus',
    desc: '定时任务状态修改',
});
api[0].list[0].list.push({
    order: '7',
    deprecated: 'false',
    url: 'http://127.0.0.1/monitor/job/run',
    desc: '定时任务立即执行一次',
});
api[0].list[0].list.push({
    order: '8',
    deprecated: 'false',
    url: 'http://127.0.0.1/monitor/job/{jobIds}',
    desc: '删除定时任务',
});
api[0].list.push({
    alias: 'SysJobLogController',
    order: '2',
    link: '调度日志操作处理',
    desc: '调度日志操作处理',
    list: []
})
api[0].list[1].list.push({
    order: '1',
    deprecated: 'false',
    url: 'http://127.0.0.1/monitor/jobLog/list',
    desc: '查询定时任务调度日志列表',
});
api[0].list[1].list.push({
    order: '2',
    deprecated: 'false',
    url: 'http://127.0.0.1/monitor/jobLog/export',
    desc: '导出定时任务调度日志列表',
});
api[0].list[1].list.push({
    order: '3',
    deprecated: 'false',
    url: 'http://127.0.0.1/monitor/jobLog/{configId}',
    desc: '根据调度编号获取详细信息',
});
api[0].list[1].list.push({
    order: '4',
    deprecated: 'false',
    url: 'http://127.0.0.1/monitor/jobLog/{jobLogIds}',
    desc: '删除定时任务调度日志',
});
api[0].list[1].list.push({
    order: '5',
    deprecated: 'false',
    url: 'http://127.0.0.1/monitor/jobLog/clean',
    desc: '清空定时任务调度日志',
});
api[0].list.push({
    alias: 'GenController',
    order: '3',
    link: '代码生成_操作处理',
    desc: '代码生成 操作处理',
    list: []
})
api[0].list[2].list.push({
    order: '1',
    deprecated: 'false',
    url: 'http://127.0.0.1/tool/gen/list',
    desc: '查询代码生成列表',
});
api[0].list[2].list.push({
    order: '2',
    deprecated: 'false',
    url: 'http://127.0.0.1/tool/gen/{talbleId}',
    desc: '修改代码生成业务',
});
api[0].list[2].list.push({
    order: '3',
    deprecated: 'false',
    url: 'http://127.0.0.1/tool/gen/db/list',
    desc: '查询数据库列表',
});
api[0].list[2].list.push({
    order: '4',
    deprecated: 'false',
    url: 'http://127.0.0.1/tool/gen/column/{talbleId}',
    desc: '查询数据表字段列表',
});
api[0].list[2].list.push({
    order: '5',
    deprecated: 'false',
    url: 'http://127.0.0.1/tool/gen/importTable',
    desc: '导入表结构（保存）',
});
api[0].list[2].list.push({
    order: '6',
    deprecated: 'false',
    url: 'http://127.0.0.1/tool/gen',
    desc: '修改保存代码生成业务',
});
api[0].list[2].list.push({
    order: '7',
    deprecated: 'false',
    url: 'http://127.0.0.1/tool/gen/{tableIds}',
    desc: '删除代码生成',
});
api[0].list[2].list.push({
    order: '8',
    deprecated: 'false',
    url: 'http://127.0.0.1/tool/gen/preview/{tableId}',
    desc: '预览代码',
});
api[0].list[2].list.push({
    order: '9',
    deprecated: 'false',
    url: 'http://127.0.0.1/tool/gen/download/{tableName}',
    desc: '生成代码（下载方式）',
});
api[0].list[2].list.push({
    order: '10',
    deprecated: 'false',
    url: 'http://127.0.0.1/tool/gen/genCode/{tableName}',
    desc: '生成代码（自定义路径）',
});
api[0].list[2].list.push({
    order: '11',
    deprecated: 'false',
    url: 'http://127.0.0.1/tool/gen/synchDb/{tableName}',
    desc: '同步数据库',
});
api[0].list[2].list.push({
    order: '12',
    deprecated: 'false',
    url: 'http://127.0.0.1/tool/gen/batchGenCode',
    desc: '批量生成代码',
});
api[0].list.push({
    alias: 'CaptchaController',
    order: '4',
    link: '验证码操作处理',
    desc: '验证码操作处理',
    list: []
})
api[0].list[3].list.push({
    order: '1',
    deprecated: 'false',
    url: 'http://127.0.0.1/captchaImage',
    desc: '生成验证码',
});
api[0].list.push({
    alias: 'CommonController',
    order: '5',
    link: '通用请求处理',
    desc: '通用请求处理',
    list: []
})
api[0].list[4].list.push({
    order: '1',
    deprecated: 'false',
    url: 'http://127.0.0.1/common/download',
    desc: '通用下载请求',
});
api[0].list[4].list.push({
    order: '2',
    deprecated: 'false',
    url: 'http://127.0.0.1/common/upload',
    desc: '通用上传请求',
});
api[0].list[4].list.push({
    order: '3',
    deprecated: 'false',
    url: 'http://127.0.0.1/common/download/resource',
    desc: '本地资源通用下载',
});
api[0].list.push({
    alias: 'CacheController',
    order: '6',
    link: '缓存监控',
    desc: '缓存监控',
    list: []
})
api[0].list[5].list.push({
    order: '1',
    deprecated: 'false',
    url: 'http://127.0.0.1/monitor/cache',
    desc: '',
});
api[0].list.push({
    alias: 'ServerController',
    order: '7',
    link: '服务器监控',
    desc: '服务器监控',
    list: []
})
api[0].list[6].list.push({
    order: '1',
    deprecated: 'false',
    url: 'http://127.0.0.1/monitor/server',
    desc: '',
});
api[0].list.push({
    alias: 'SysLogininforController',
    order: '8',
    link: '系统访问记录',
    desc: '系统访问记录',
    list: []
})
api[0].list[7].list.push({
    order: '1',
    deprecated: 'false',
    url: 'http://127.0.0.1/monitor/logininfor/list',
    desc: '',
});
api[0].list[7].list.push({
    order: '2',
    deprecated: 'false',
    url: 'http://127.0.0.1/monitor/logininfor/export',
    desc: '',
});
api[0].list[7].list.push({
    order: '3',
    deprecated: 'false',
    url: 'http://127.0.0.1/monitor/logininfor/{infoIds}',
    desc: '',
});
api[0].list[7].list.push({
    order: '4',
    deprecated: 'false',
    url: 'http://127.0.0.1/monitor/logininfor/clean',
    desc: '',
});
api[0].list.push({
    alias: 'SysOperlogController',
    order: '9',
    link: '操作日志记录',
    desc: '操作日志记录',
    list: []
})
api[0].list[8].list.push({
    order: '1',
    deprecated: 'false',
    url: 'http://127.0.0.1/monitor/operlog/list',
    desc: '',
});
api[0].list[8].list.push({
    order: '2',
    deprecated: 'false',
    url: 'http://127.0.0.1/monitor/operlog/export',
    desc: '',
});
api[0].list[8].list.push({
    order: '3',
    deprecated: 'false',
    url: 'http://127.0.0.1/monitor/operlog/{operIds}',
    desc: '',
});
api[0].list[8].list.push({
    order: '4',
    deprecated: 'false',
    url: 'http://127.0.0.1/monitor/operlog/clean',
    desc: '',
});
api[0].list.push({
    alias: 'SysUserOnlineController',
    order: '10',
    link: '在线用户监控',
    desc: '在线用户监控',
    list: []
})
api[0].list[9].list.push({
    order: '1',
    deprecated: 'false',
    url: 'http://127.0.0.1/monitor/online/list',
    desc: '',
});
api[0].list[9].list.push({
    order: '2',
    deprecated: 'false',
    url: 'http://127.0.0.1/monitor/online/{tokenId}',
    desc: '强退用户',
});
api[0].list.push({
    alias: 'SysConfigController',
    order: '11',
    link: '参数配置_信息操作处理',
    desc: '参数配置 信息操作处理',
    list: []
})
api[0].list[10].list.push({
    order: '1',
    deprecated: 'false',
    url: 'http://127.0.0.1/system/config/list',
    desc: '获取参数配置列表',
});
api[0].list[10].list.push({
    order: '2',
    deprecated: 'false',
    url: 'http://127.0.0.1/system/config/export',
    desc: '',
});
api[0].list[10].list.push({
    order: '3',
    deprecated: 'false',
    url: 'http://127.0.0.1/system/config/{configId}',
    desc: '根据参数编号获取详细信息',
});
api[0].list[10].list.push({
    order: '4',
    deprecated: 'false',
    url: 'http://127.0.0.1/system/config/configKey/{configKey}',
    desc: '根据参数键名查询参数值',
});
api[0].list[10].list.push({
    order: '5',
    deprecated: 'false',
    url: 'http://127.0.0.1/system/config',
    desc: '新增参数配置',
});
api[0].list[10].list.push({
    order: '6',
    deprecated: 'false',
    url: 'http://127.0.0.1/system/config',
    desc: '修改参数配置',
});
api[0].list[10].list.push({
    order: '7',
    deprecated: 'false',
    url: 'http://127.0.0.1/system/config/{configIds}',
    desc: '删除参数配置',
});
api[0].list[10].list.push({
    order: '8',
    deprecated: 'false',
    url: 'http://127.0.0.1/system/config/refreshCache',
    desc: '刷新参数缓存',
});
api[0].list.push({
    alias: 'SysDeptController',
    order: '12',
    link: '部门信息',
    desc: '部门信息',
    list: []
})
api[0].list[11].list.push({
    order: '1',
    deprecated: 'false',
    url: 'http://127.0.0.1/system/dept/list',
    desc: '获取部门列表',
});
api[0].list[11].list.push({
    order: '2',
    deprecated: 'false',
    url: 'http://127.0.0.1/system/dept/list/exclude/{deptId}',
    desc: '查询部门列表（排除节点）',
});
api[0].list[11].list.push({
    order: '3',
    deprecated: 'false',
    url: 'http://127.0.0.1/system/dept/{deptId}',
    desc: '根据部门编号获取详细信息',
});
api[0].list[11].list.push({
    order: '4',
    deprecated: 'false',
    url: 'http://127.0.0.1/system/dept/treeselect',
    desc: '获取部门下拉树列表',
});
api[0].list[11].list.push({
    order: '5',
    deprecated: 'false',
    url: 'http://127.0.0.1/system/dept/roleDeptTreeselect/{roleId}',
    desc: '加载对应角色部门列表树',
});
api[0].list[11].list.push({
    order: '6',
    deprecated: 'false',
    url: 'http://127.0.0.1/system/dept',
    desc: '新增部门',
});
api[0].list[11].list.push({
    order: '7',
    deprecated: 'false',
    url: 'http://127.0.0.1/system/dept',
    desc: '修改部门',
});
api[0].list[11].list.push({
    order: '8',
    deprecated: 'false',
    url: 'http://127.0.0.1/system/dept/{deptId}',
    desc: '删除部门',
});
api[0].list.push({
    alias: 'SysDictDataController',
    order: '13',
    link: '数据字典信息',
    desc: '数据字典信息',
    list: []
})
api[0].list[12].list.push({
    order: '1',
    deprecated: 'false',
    url: 'http://127.0.0.1/system/dict/data/list',
    desc: '',
});
api[0].list[12].list.push({
    order: '2',
    deprecated: 'false',
    url: 'http://127.0.0.1/system/dict/data/export',
    desc: '',
});
api[0].list[12].list.push({
    order: '3',
    deprecated: 'false',
    url: 'http://127.0.0.1/system/dict/data/{dictCode}',
    desc: '查询字典数据详细',
});
api[0].list[12].list.push({
    order: '4',
    deprecated: 'false',
    url: 'http://127.0.0.1/system/dict/data/type/{dictType}',
    desc: '根据字典类型查询字典数据信息',
});
api[0].list[12].list.push({
    order: '5',
    deprecated: 'false',
    url: 'http://127.0.0.1/system/dict/data',
    desc: '新增字典类型',
});
api[0].list[12].list.push({
    order: '6',
    deprecated: 'false',
    url: 'http://127.0.0.1/system/dict/data',
    desc: '修改保存字典类型',
});
api[0].list[12].list.push({
    order: '7',
    deprecated: 'false',
    url: 'http://127.0.0.1/system/dict/data/{dictCodes}',
    desc: '删除字典类型',
});
api[0].list.push({
    alias: 'SysDictTypeController',
    order: '14',
    link: '数据字典信息',
    desc: '数据字典信息',
    list: []
})
api[0].list[13].list.push({
    order: '1',
    deprecated: 'false',
    url: 'http://127.0.0.1/system/dict/type/list',
    desc: '',
});
api[0].list[13].list.push({
    order: '2',
    deprecated: 'false',
    url: 'http://127.0.0.1/system/dict/type/export',
    desc: '',
});
api[0].list[13].list.push({
    order: '3',
    deprecated: 'false',
    url: 'http://127.0.0.1/system/dict/type/{dictId}',
    desc: '查询字典类型详细',
});
api[0].list[13].list.push({
    order: '4',
    deprecated: 'false',
    url: 'http://127.0.0.1/system/dict/type',
    desc: '新增字典类型',
});
api[0].list[13].list.push({
    order: '5',
    deprecated: 'false',
    url: 'http://127.0.0.1/system/dict/type',
    desc: '修改字典类型',
});
api[0].list[13].list.push({
    order: '6',
    deprecated: 'false',
    url: 'http://127.0.0.1/system/dict/type/{dictIds}',
    desc: '删除字典类型',
});
api[0].list[13].list.push({
    order: '7',
    deprecated: 'false',
    url: 'http://127.0.0.1/system/dict/type/refreshCache',
    desc: '刷新字典缓存',
});
api[0].list[13].list.push({
    order: '8',
    deprecated: 'false',
    url: 'http://127.0.0.1/system/dict/type/optionselect',
    desc: '获取字典选择框列表',
});
api[0].list.push({
    alias: 'SysIndexController',
    order: '15',
    link: '首页',
    desc: '首页',
    list: []
})
api[0].list[14].list.push({
    order: '1',
    deprecated: 'false',
    url: 'http://127.0.0.1',
    desc: '访问首页，提示语',
});
api[0].list.push({
    alias: 'SysLoginController',
    order: '16',
    link: '登录验证',
    desc: '登录验证',
    list: []
})
api[0].list[15].list.push({
    order: '1',
    deprecated: 'false',
    url: 'http://127.0.0.1/login',
    desc: '登录方法',
});
api[0].list[15].list.push({
    order: '2',
    deprecated: 'false',
    url: 'http://127.0.0.1/getInfo',
    desc: '获取用户信息',
});
api[0].list[15].list.push({
    order: '3',
    deprecated: 'false',
    url: 'http://127.0.0.1/getRouters',
    desc: '获取路由信息',
});
api[0].list.push({
    alias: 'SysMenuController',
    order: '17',
    link: '菜单信息',
    desc: '菜单信息',
    list: []
})
api[0].list[16].list.push({
    order: '1',
    deprecated: 'false',
    url: 'http://127.0.0.1/system/menu/list',
    desc: '获取菜单列表',
});
api[0].list[16].list.push({
    order: '2',
    deprecated: 'false',
    url: 'http://127.0.0.1/system/menu/{menuId}',
    desc: '根据菜单编号获取详细信息',
});
api[0].list[16].list.push({
    order: '3',
    deprecated: 'false',
    url: 'http://127.0.0.1/system/menu/treeselect',
    desc: '获取菜单下拉树列表',
});
api[0].list[16].list.push({
    order: '4',
    deprecated: 'false',
    url: 'http://127.0.0.1/system/menu/roleMenuTreeselect/{roleId}',
    desc: '加载对应角色菜单列表树',
});
api[0].list[16].list.push({
    order: '5',
    deprecated: 'false',
    url: 'http://127.0.0.1/system/menu',
    desc: '新增菜单',
});
api[0].list[16].list.push({
    order: '6',
    deprecated: 'false',
    url: 'http://127.0.0.1/system/menu',
    desc: '修改菜单',
});
api[0].list[16].list.push({
    order: '7',
    deprecated: 'false',
    url: 'http://127.0.0.1/system/menu/{menuId}',
    desc: '删除菜单',
});
api[0].list.push({
    alias: 'SysNoticeController',
    order: '18',
    link: '公告_信息操作处理',
    desc: '公告 信息操作处理',
    list: []
})
api[0].list[17].list.push({
    order: '1',
    deprecated: 'false',
    url: 'http://127.0.0.1/system/notice/list',
    desc: '获取通知公告列表',
});
api[0].list[17].list.push({
    order: '2',
    deprecated: 'false',
    url: 'http://127.0.0.1/system/notice/{noticeId}',
    desc: '根据通知公告编号获取详细信息',
});
api[0].list[17].list.push({
    order: '3',
    deprecated: 'false',
    url: 'http://127.0.0.1/system/notice',
    desc: '新增通知公告',
});
api[0].list[17].list.push({
    order: '4',
    deprecated: 'false',
    url: 'http://127.0.0.1/system/notice',
    desc: '修改通知公告',
});
api[0].list[17].list.push({
    order: '5',
    deprecated: 'false',
    url: 'http://127.0.0.1/system/notice/{noticeIds}',
    desc: '删除通知公告',
});
api[0].list.push({
    alias: 'SysPostController',
    order: '19',
    link: '岗位信息操作处理',
    desc: '岗位信息操作处理',
    list: []
})
api[0].list[18].list.push({
    order: '1',
    deprecated: 'false',
    url: 'http://127.0.0.1/system/post/list',
    desc: '获取岗位列表',
});
api[0].list[18].list.push({
    order: '2',
    deprecated: 'false',
    url: 'http://127.0.0.1/system/post/export',
    desc: '',
});
api[0].list[18].list.push({
    order: '3',
    deprecated: 'false',
    url: 'http://127.0.0.1/system/post/{postId}',
    desc: '根据岗位编号获取详细信息',
});
api[0].list[18].list.push({
    order: '4',
    deprecated: 'false',
    url: 'http://127.0.0.1/system/post',
    desc: '新增岗位',
});
api[0].list[18].list.push({
    order: '5',
    deprecated: 'false',
    url: 'http://127.0.0.1/system/post',
    desc: '修改岗位',
});
api[0].list[18].list.push({
    order: '6',
    deprecated: 'false',
    url: 'http://127.0.0.1/system/post/{postIds}',
    desc: '删除岗位',
});
api[0].list[18].list.push({
    order: '7',
    deprecated: 'false',
    url: 'http://127.0.0.1/system/post/optionselect',
    desc: '获取岗位选择框列表',
});
api[0].list.push({
    alias: 'SysProfileController',
    order: '20',
    link: '个人信息_业务处理',
    desc: '个人信息 业务处理',
    list: []
})
api[0].list[19].list.push({
    order: '1',
    deprecated: 'false',
    url: 'http://127.0.0.1/system/user/profile',
    desc: '个人信息',
});
api[0].list[19].list.push({
    order: '2',
    deprecated: 'false',
    url: 'http://127.0.0.1/system/user/profile',
    desc: '修改用户',
});
api[0].list[19].list.push({
    order: '3',
    deprecated: 'false',
    url: 'http://127.0.0.1/system/user/profile/updatePwd',
    desc: '重置密码',
});
api[0].list[19].list.push({
    order: '4',
    deprecated: 'false',
    url: 'http://127.0.0.1/system/user/profile/avatar',
    desc: '头像上传',
});
api[0].list[19].list.push({
    order: '5',
    deprecated: 'false',
    url: 'http://127.0.0.1/system/user/profile/logo',
    desc: 'logo上传',
});
api[0].list.push({
    alias: 'SysRegisterController',
    order: '21',
    link: '注册验证',
    desc: '注册验证',
    list: []
})
api[0].list[20].list.push({
    order: '1',
    deprecated: 'false',
    url: 'http://127.0.0.1/register',
    desc: '',
});
api[0].list.push({
    alias: 'SysRoleController',
    order: '22',
    link: '角色信息',
    desc: '角色信息',
    list: []
})
api[0].list[21].list.push({
    order: '1',
    deprecated: 'false',
    url: 'http://127.0.0.1/system/role/list',
    desc: '',
});
api[0].list[21].list.push({
    order: '2',
    deprecated: 'false',
    url: 'http://127.0.0.1/system/role/export',
    desc: '',
});
api[0].list[21].list.push({
    order: '3',
    deprecated: 'false',
    url: 'http://127.0.0.1/system/role/{roleId}',
    desc: '根据角色编号获取详细信息',
});
api[0].list[21].list.push({
    order: '4',
    deprecated: 'false',
    url: 'http://127.0.0.1/system/role',
    desc: '新增角色',
});
api[0].list[21].list.push({
    order: '5',
    deprecated: 'false',
    url: 'http://127.0.0.1/system/role',
    desc: '修改保存角色',
});
api[0].list[21].list.push({
    order: '6',
    deprecated: 'false',
    url: 'http://127.0.0.1/system/role/dataScope',
    desc: '修改保存数据权限',
});
api[0].list[21].list.push({
    order: '7',
    deprecated: 'false',
    url: 'http://127.0.0.1/system/role/changeStatus',
    desc: '状态修改',
});
api[0].list[21].list.push({
    order: '8',
    deprecated: 'false',
    url: 'http://127.0.0.1/system/role/{roleIds}',
    desc: '删除角色',
});
api[0].list[21].list.push({
    order: '9',
    deprecated: 'false',
    url: 'http://127.0.0.1/system/role/optionselect',
    desc: '获取角色选择框列表',
});
api[0].list[21].list.push({
    order: '10',
    deprecated: 'false',
    url: 'http://127.0.0.1/system/role/authUser/allocatedList',
    desc: '查询已分配用户角色列表',
});
api[0].list[21].list.push({
    order: '11',
    deprecated: 'false',
    url: 'http://127.0.0.1/system/role/authUser/unallocatedList',
    desc: '查询未分配用户角色列表',
});
api[0].list[21].list.push({
    order: '12',
    deprecated: 'false',
    url: 'http://127.0.0.1/system/role/authUser/cancel',
    desc: '取消授权用户',
});
api[0].list[21].list.push({
    order: '13',
    deprecated: 'false',
    url: 'http://127.0.0.1/system/role/authUser/cancelAll',
    desc: '批量取消授权用户',
});
api[0].list[21].list.push({
    order: '14',
    deprecated: 'false',
    url: 'http://127.0.0.1/system/role/authUser/selectAll',
    desc: '批量选择用户授权',
});
api[0].list.push({
    alias: 'SysUserController',
    order: '23',
    link: '用户信息',
    desc: '用户信息',
    list: []
})
api[0].list[22].list.push({
    order: '1',
    deprecated: 'false',
    url: 'http://127.0.0.1/system/user/list',
    desc: '获取用户列表',
});
api[0].list[22].list.push({
    order: '2',
    deprecated: 'false',
    url: 'http://127.0.0.1/system/user/export',
    desc: '',
});
api[0].list[22].list.push({
    order: '3',
    deprecated: 'false',
    url: 'http://127.0.0.1/system/user/importData',
    desc: '',
});
api[0].list[22].list.push({
    order: '4',
    deprecated: 'false',
    url: 'http://127.0.0.1/system/user/importTemplate',
    desc: '',
});
api[0].list[22].list.push({
    order: '5',
    deprecated: 'false',
    url: 'http://127.0.0.1/system/user/[/;	http}/127.0.0.1/system/user/{userId}]',
    desc: '根据用户编号获取详细信息',
});
api[0].list[22].list.push({
    order: '6',
    deprecated: 'false',
    url: 'http://127.0.0.1/system/user',
    desc: '新增用户',
});
api[0].list[22].list.push({
    order: '7',
    deprecated: 'false',
    url: 'http://127.0.0.1/system/user',
    desc: '修改用户',
});
api[0].list[22].list.push({
    order: '8',
    deprecated: 'false',
    url: 'http://127.0.0.1/system/user/{userIds}',
    desc: '删除用户',
});
api[0].list[22].list.push({
    order: '9',
    deprecated: 'false',
    url: 'http://127.0.0.1/system/user/resetPwd',
    desc: '重置密码',
});
api[0].list[22].list.push({
    order: '10',
    deprecated: 'false',
    url: 'http://127.0.0.1/system/user/changeStatus',
    desc: '状态修改',
});
api[0].list[22].list.push({
    order: '11',
    deprecated: 'false',
    url: 'http://127.0.0.1/system/user/authRole/{userId}',
    desc: '根据用户编号获取授权角色',
});
api[0].list[22].list.push({
    order: '12',
    deprecated: 'false',
    url: 'http://127.0.0.1/system/user/authRole',
    desc: '用户授权角色',
});
api[0].list.push({
    alias: 'SwaggerController',
    order: '24',
    link: 'swagger_接口',
    desc: 'swagger 接口',
    list: []
})
api[0].list[23].list.push({
    order: '1',
    deprecated: 'false',
    url: 'http://127.0.0.1/tool/swagger',
    desc: '',
});
api[0].list.push({
    alias: 'TestController',
    order: '25',
    link: 'swagger_用户测试方法',
    desc: 'swagger 用户测试方法',
    list: []
})
api[0].list[24].list.push({
    order: '1',
    deprecated: 'false',
    url: 'http://127.0.0.1/test/user/list',
    desc: '',
});
api[0].list[24].list.push({
    order: '2',
    deprecated: 'false',
    url: 'http://127.0.0.1/test/user/{userId}',
    desc: '',
});
api[0].list[24].list.push({
    order: '3',
    deprecated: 'false',
    url: 'http://127.0.0.1/test/user/save',
    desc: '',
});
api[0].list[24].list.push({
    order: '4',
    deprecated: 'false',
    url: 'http://127.0.0.1/test/user/update',
    desc: '',
});
api[0].list[24].list.push({
    order: '5',
    deprecated: 'false',
    url: 'http://127.0.0.1/test/user/{userId}',
    desc: '',
});
document.onkeydown = keyDownSearch;
function keyDownSearch(e) {
    const theEvent = e;
    const code = theEvent.keyCode || theEvent.which || theEvent.charCode;
    if (code === 13) {
        const search = document.getElementById('search');
        const searchValue = search.value.toLocaleLowerCase();

        let searchGroup = [];
        for (let i = 0; i < api.length; i++) {

            let apiGroup = api[i];

            let searchArr = [];
            for (let i = 0; i < apiGroup.list.length; i++) {
                let apiData = apiGroup.list[i];
                const desc = apiData.desc;
                if (desc.toLocaleLowerCase().indexOf(searchValue) > -1) {
                    searchArr.push({
                        order: apiData.order,
                        desc: apiData.desc,
                        link: apiData.link,
                        list: apiData.list
                    });
                } else {
                    let methodList = apiData.list || [];
                    let methodListTemp = [];
                    for (let j = 0; j < methodList.length; j++) {
                        const methodData = methodList[j];
                        const methodDesc = methodData.desc;
                        if (methodDesc.toLocaleLowerCase().indexOf(searchValue) > -1) {
                            methodListTemp.push(methodData);
                            break;
                        }
                    }
                    if (methodListTemp.length > 0) {
                        const data = {
                            order: apiData.order,
                            desc: apiData.desc,
                            link: apiData.link,
                            list: methodListTemp
                        };
                        searchArr.push(data);
                    }
                }
            }
            if (apiGroup.name.toLocaleLowerCase().indexOf(searchValue) > -1) {
                searchGroup.push({
                    name: apiGroup.name,
                    order: apiGroup.order,
                    list: searchArr
                });
                continue;
            }
            if (searchArr.length === 0) {
                continue;
            }
            searchGroup.push({
                name: apiGroup.name,
                order: apiGroup.order,
                list: searchArr
            });
        }
        let html;
        if (searchValue === '') {
            const liClass = "";
            const display = "display: none";
            html = buildAccordion(api,liClass,display);
            document.getElementById('accordion').innerHTML = html;
        } else {
            const liClass = "open";
            const display = "display: block";
            html = buildAccordion(searchGroup,liClass,display);
            document.getElementById('accordion').innerHTML = html;
        }
        const Accordion = function (el, multiple) {
            this.el = el || {};
            this.multiple = multiple || false;
            const links = this.el.find('.dd');
            links.on('click', {el: this.el, multiple: this.multiple}, this.dropdown);
        };
        Accordion.prototype.dropdown = function (e) {
            const $el = e.data.el;
            let $this = $(this), $next = $this.next();
            $next.slideToggle();
            $this.parent().toggleClass('open');
            if (!e.data.multiple) {
                $el.find('.submenu').not($next).slideUp("20").parent().removeClass('open');
            }
        };
        new Accordion($('#accordion'), false);
    }
}

function buildAccordion(apiGroups, liClass, display) {
    let html = "";
    if (apiGroups.length > 0) {
        if (apiDocListSize === 1) {
            let apiData = apiGroups[0].list;
            let order = apiGroups[0].order;
            for (let j = 0; j < apiData.length; j++) {
                html += '<li class="'+liClass+'">';
                html += '<a class="dd" href="#_'+order+'_'+apiData[j].order+'_' + apiData[j].link + '">' + apiData[j].order + '.&nbsp;' + apiData[j].desc + '</a>';
                html += '<ul class="sectlevel2" style="'+display+'">';
                let doc = apiData[j].list;
                for (let m = 0; m < doc.length; m++) {
                    let spanString;
                    if (doc[m].deprecated === 'true') {
                        spanString='<span class="line-through">';
                    } else {
                        spanString='<span>';
                    }
                    html += '<li><a href="#_'+order+'_' + apiData[j].order + '_' + doc[m].order + '_' + doc[m].desc + '">' + apiData[j].order + '.' + doc[m].order + '.&nbsp;' + spanString + doc[m].desc + '<span></a> </li>';
                }
                html += '</ul>';
                html += '</li>';
            }
        } else {
            for (let i = 0; i < apiGroups.length; i++) {
                let apiGroup = apiGroups[i];
                html += '<li class="'+liClass+'">';
                html += '<a class="dd" href="#_'+apiGroup.order+'_' + apiGroup.name + '">' + apiGroup.order + '.&nbsp;' + apiGroup.name + '</a>';
                html += '<ul class="sectlevel1">';

                let apiData = apiGroup.list;
                for (let j = 0; j < apiData.length; j++) {
                    html += '<li class="'+liClass+'">';
                    html += '<a class="dd" href="#_'+apiGroup.order+'_'+ apiData[j].order + '_'+ apiData[j].link + '">' +apiGroup.order+'.'+ apiData[j].order + '.&nbsp;' + apiData[j].desc + '</a>';
                    html += '<ul class="sectlevel2" style="'+display+'">';
                    let doc = apiData[j].list;
                    for (let m = 0; m < doc.length; m++) {
                       let spanString;
                       if (doc[m].deprecated === 'true') {
                           spanString='<span class="line-through">';
                       } else {
                           spanString='<span>';
                       }
                       html += '<li><a href="#_'+apiGroup.order+'_' + apiData[j].order + '_' + doc[m].order + '_' + doc[m].desc + '">'+apiGroup.order+'.' + apiData[j].order + '.' + doc[m].order + '.&nbsp;' + spanString + doc[m].desc + '<span></a> </li>';
                   }
                    html += '</ul>';
                    html += '</li>';
                }

                html += '</ul>';
                html += '</li>';
            }
        }
    }
    return html;
}